home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
c't freeware shareware 1997
/
CT_SW_97.ISO
/
mac
/
Software
/
bild
/
macos
/
povmac68.hqx
/
POV-Ray 3
/
Include
/
GOLDS.INC
< prev
next >
Wrap
Text File
|
1996-02-21
|
9KB
|
234 lines
#ifdef(Gold_Inc_Temp)
// do nothing
#else
#declare Gold_Inc_Temp=version
#version 3.0
#ifdef(View_POV_Include_Stack)
# debug "including golds.inc\n"
#end
/*
Persistence of Vision Raytracer Version 3.0
Gold textures
*/
#declare GoldBase = <1.00, 0.875, 0.575> // mine again
// This set shifts the color toward orange by subtracting
// bluegreen from the base color.
#declare CVect1 = GoldBase - <0.00, 0.20, 0.40>
#declare CVect2 = GoldBase - <0.00, 0.15, 0.30>
#declare CVect3 = GoldBase - <0.00, 0.10, 0.20>
#declare CVect4 = GoldBase - <0.00, 0.05, 0.1>
#declare CVect5 = GoldBase - <0.00, 0.00, 0.00>
// Cast CVect as an rgb vector
#declare P_Gold1 = rgb CVect1 // back row
#declare P_Gold2 = rgb CVect2
#declare P_Gold3 = rgb CVect3
#declare P_Gold4 = rgb CVect4
#declare P_Gold5 = rgb CVect5 // front row
// Reflection colors, derived from pigment color, "grayed down" a touch.
#declare R_GoldA = P_Gold1 * 0.30 + 0.25 // left column (soft)
#declare R_GoldB = P_Gold2 * 0.35 + 0.25
#declare R_GoldC = P_Gold3 * 0.40 + 0.25
#declare R_GoldD = P_Gold4 * 0.45 + 0.25
#declare R_GoldE = P_Gold5 * 0.50 + 0.25 // right column (hard)
// Ambient colors, derived from base color
#declare A_GoldA = P_Gold1 * 0.12 + 0.1 // left column (soft)
#declare A_GoldB = P_Gold2 * 0.10 + 0.1
#declare A_GoldC = P_Gold3 * 0.08 + 0.1
#declare A_GoldD = P_Gold4 * 0.05 + 0.1
#declare A_GoldE = P_Gold5 * 0.02 + 0.1 // right column (hard)
// Diffuse values
// Calculated as 1 - (ambient+reflective+specular values)
#declare D_GoldA = 1-(((R_GoldA.red+R_GoldA.green+R_GoldA.blue)/3)
+ ((A_GoldA.red+A_GoldA.green+A_GoldA.blue)/3))
#declare D_GoldB = 1-(((R_GoldB.red+R_GoldB.green+R_GoldB.blue)/3)
+ ((A_GoldB.red+A_GoldB.green+A_GoldB.blue)/3))
#declare D_GoldC = 1-(((R_GoldC.red+R_GoldC.green+R_GoldC.blue)/3)
+ ((A_GoldC.red+A_GoldC.green+A_GoldC.blue)/3))
#declare D_GoldD = 1-(((R_GoldD.red+R_GoldD.green+R_GoldD.blue)/3)
+ ((A_GoldD.red+A_GoldD.green+A_GoldD.blue)/3))
#declare D_GoldE = 1-(((R_GoldE.red+R_GoldE.green+R_GoldE.blue)/3)
+ ((A_GoldE.red+A_GoldE.green+A_GoldE.blue)/3))
#declare D_GoldA = max(D_GoldA, 0)
#declare D_GoldB = max(D_GoldB, 0)
#declare D_GoldC = max(D_GoldC, 0)
#declare D_GoldD = max(D_GoldD, 0)
#declare D_GoldE = max(D_GoldE, 0)
// #debug "\nReflection colors:"
// #debug concat("\nR_GoldA=<", str(R_GoldA.red, 5, 5), "," ,
// str(R_GoldA.green, 5, 5),"," ,
// str(R_GoldA.blue, 5, 5), ">")
// #debug concat("\nR_GoldB=<", str(R_GoldB.red, 5, 5), "," ,
// str(R_GoldB.green, 5, 5),"," ,
// str(R_GoldB.blue, 5, 5), ">")
// #debug concat("\nR_GoldC=<", str(R_GoldC.red, 5, 5), "," ,
// str(R_GoldC.green, 5, 5),"," ,
// str(R_GoldC.blue, 5, 5), ">")
// #debug concat("\nR_GoldD=<", str(R_GoldD.red, 5, 5), "," ,
// str(R_GoldD.green, 5, 5),"," ,
// str(R_GoldD.blue, 5, 5), ">")
// #debug concat("\nR_GoldE=<", str(R_GoldE.red, 5, 5), "," ,
// str(R_GoldE.green, 5, 5),"," ,
// str(R_GoldE.blue, 5, 5), ">")
//
// #debug "\n\nAmbient colors:"
// #debug concat("\nA_GoldA=<", str(A_GoldA.red, 5, 5), "," ,
// str(A_GoldA.green, 5, 5),"," ,
// str(A_GoldA.blue, 5, 5), ">")
// #debug concat("\nA_GoldB=<", str(A_GoldB.red, 5, 5), "," ,
// str(A_GoldB.green, 5, 5),"," ,
// str(A_GoldB.blue, 5, 5), ">")
// #debug concat("\nA_GoldC=<", str(A_GoldC.red, 5, 5), "," ,
// str(A_GoldC.green, 5, 5),"," ,
// str(A_GoldC.blue, 5, 5), ">")
// #debug concat("\nA_GoldD=<", str(A_GoldD.red, 5, 5), "," ,
// str(A_GoldD.green, 5, 5),"," ,
// str(A_GoldD.blue, 5, 5), ">")
// #debug concat("\nA_GoldE=<", str(A_GoldE.red, 5, 5), "," ,
// str(A_GoldE.green, 5, 5),"," ,
// str(A_GoldE.blue, 5, 5), ">")
//
//
// #debug "\n\nDiffuse values:"
// #debug concat("\nD_GoldA = ",str(D_GoldA, 5, 5))
// #debug concat("\nD_GoldB = ",str(D_GoldB, 5, 5))
// #debug concat("\nD_GoldC = ",str(D_GoldC, 5, 5))
// #debug concat("\nD_GoldD = ",str(D_GoldD, 5, 5))
// #debug concat("\nD_GoldE = ",str(D_GoldE, 5, 5))
// #debug "\n"
#declare M = 1 // Metallic amount
//*****Finishes****
// Left column, dullest & darkest
#declare F_MetalA =
finish {
brilliance 2
diffuse D_GoldA
ambient A_GoldA
reflection R_GoldA
metallic M
specular 0.20
roughness 1/20
}
#declare F_MetalB =
finish {
brilliance 3
diffuse D_GoldB
ambient A_GoldB
reflection R_GoldB
metallic M
specular 0.30
roughness 1/60
}
#declare F_MetalC =
finish {
brilliance 4
diffuse D_GoldC
ambient A_GoldC
reflection R_GoldC
metallic M
specular 0.60
roughness 1/80
}
#declare F_MetalD =
finish {
brilliance 5
diffuse D_GoldD
ambient A_GoldD
reflection R_GoldD
metallic M
specular 0.70
roughness 1/100
}
#declare F_MetalE =
finish {
brilliance 6
diffuse D_GoldE
ambient A_GoldE
reflection R_GoldE
metallic M
specular 0.80
roughness 1/120
}
// GOLDS
#declare T_Gold_1A = texture { pigment { P_Gold1 } finish { F_MetalA } }
#declare T_Gold_1B = texture { pigment { P_Gold1 } finish { F_MetalB } }
#declare T_Gold_1C = texture { pigment { P_Gold1 } finish { F_MetalC } }
#declare T_Gold_1D = texture { pigment { P_Gold1 } finish { F_MetalD } }
#declare T_Gold_1E = texture { pigment { P_Gold1 } finish { F_MetalE } }
#declare T_Gold_2A = texture { pigment { P_Gold2 } finish { F_MetalA } }
#declare T_Gold_2B = texture { pigment { P_Gold2 } finish { F_MetalB } }
#declare T_Gold_2C = texture { pigment { P_Gold2 } finish { F_MetalC } }
#declare T_Gold_2D = texture { pigment { P_Gold2 } finish { F_MetalD } }
#declare T_Gold_2E = texture { pigment { P_Gold2 } finish { F_MetalE } }
#declare T_Gold_3A = texture { pigment { P_Gold3 } finish { F_MetalA } }
#declare T_Gold_3B = texture { pigment { P_Gold3 } finish { F_MetalB } }
#declare T_Gold_3C = texture { pigment { P_Gold3 } finish { F_MetalC } }
#declare T_Gold_3D = texture { pigment { P_Gold3 } finish { F_MetalD } }
#declare T_Gold_3E = texture { pigment { P_Gold3 } finish { F_MetalE } }
#declare T_Gold_4A = texture { pigment { P_Gold4 } finish { F_MetalA } }
#declare T_Gold_4B = texture { pigment { P_Gold4 } finish { F_MetalB } }
#declare T_Gold_4C = texture { pigment { P_Gold4 } finish { F_MetalC } }
#declare T_Gold_4D = texture { pigment { P_Gold4 } finish { F_MetalD } }
#declare T_Gold_4E = texture { pigment { P_Gold4 } finish { F_MetalE } }
#declare T_Gold_5A = texture { pigment { P_Gold5 } finish { F_MetalA } }
#declare T_Gold_5B = texture { pigment { P_Gold5 } finish { F_MetalB } }
#declare T_Gold_5C = texture { pigment { P_Gold5 } finish { F_MetalC } }
#declare T_Gold_5D = texture { pigment { P_Gold5 } finish { F_MetalD } }
#declare T_Gold_5E = texture { pigment { P_Gold5 } finish { F_MetalE } }
//The following #declares are needed for stage_xz.pov
#declare T01 = texture { T_Gold_1A }
#declare T02 = texture { T_Gold_1B }
#declare T03 = texture { T_Gold_1C }
#declare T04 = texture { T_Gold_1D }
#declare T05 = texture { T_Gold_1E }
#declare T06 = texture { T_Gold_2A }
#declare T07 = texture { T_Gold_2B }
#declare T08 = texture { T_Gold_2C }
#declare T09 = texture { T_Gold_2D }
#declare T10 = texture { T_Gold_2E }
#declare T11 = texture { T_Gold_3A }
#declare T12 = texture { T_Gold_3B }
#declare T13 = texture { T_Gold_3C }
#declare T14 = texture { T_Gold_3D }
#declare T15 = texture { T_Gold_3E }
#declare T16 = texture { T_Gold_4A }
#declare T17 = texture { T_Gold_4B }
#declare T18 = texture { T_Gold_4C }
#declare T19 = texture { T_Gold_4D }
#declare T20 = texture { T_Gold_4E }
#declare T21 = texture { T_Gold_5A }
#declare T22 = texture { T_Gold_5B }
#declare T23 = texture { T_Gold_5C }
#declare T24 = texture { T_Gold_5D }
#declare T25 = texture { T_Gold_5E }
#version Gold_Inc_Temp
#end